using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using ZedGraph;
using ZedGraph.Web;

public partial class Analisis_Solicitudes : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Session["controlSolicitudes"] = new ControladoraSolicitudes();
            Session["controlProyectos"] = new ControladoraProyectos();
            Session["controlClientes"] = new ControladoraClientes();
            Session["controlEmpleados"] = new ControladoraEmpleados();
            Session["controlConsultas"] = new ControladoraConsultas();
            cargarTipoUsuario();
            this.cbTipoEmpleados.Visible = false;
            this.lbTipoEmpleado.Visible = false;
            this.cbTipoUsuarios.SelectedIndex = -1;
            this.cbProyectos.SelectedIndex = -1;
            //cargarTipoEmpleado();

        }
    }

    private void cargarTipoUsuario()
    {
        int numTipos = 2;
        ListItem[] estados = new ListItem[numTipos];
       
        estados[0] = new ListItem("Cliente", "cliente");
        estados[1] = new ListItem("Empleado", "empleado"); //Tambien en revisionEvaluacion
        for (int i = 0; i < numTipos; i++)
        {
            this.cbTipoUsuarios.Items.Add(estados[i]);
        }
        this.cbTipoEmpleados.Visible = false;
        this.lbTipoEmpleado.Visible = false;
        ControladoraClientes controlClientes = (ControladoraClientes)Session["controlClientes"];
        DataTable listClientes = controlClientes.solicitarClientes();
        cargarListaUsuarios(listClientes);
        int tipe = 5; //cliente es tipo 5
        ViewState["tipo_usuario"] = tipe.ToString();


    }

    protected void cbProyectos_SelectedIndexChanged(object sender, EventArgs e)
    {
        cargarInfoAnalisis();
        cargarListaSolicitudes();
    }

    private void cargarListaUsuarios(DataTable listaUsuarios)
    {
        this.cbUsuarios.Items.Clear();
        try
        {
            DataTableReader lector = listaUsuarios.CreateDataReader();
            while (lector.Read())
            {
                ListItem item = new ListItem(lector.GetValue(0).ToString(), lector.GetValue(1).ToString());
                this.cbUsuarios.Items.Add(item);
            }

            //****************
            int cedula = Int32.Parse(this.cbUsuarios.SelectedItem.Value);
            ViewState["cedula_usuario"] = cedula.ToString();
            ControladoraProyectos controlProyectos = (ControladoraProyectos)Session["controlProyectos"];
            int tipo = 0;
            if (cbTipoEmpleados.Visible)
            {
                tipo = cbTipoEmpleados.SelectedIndex + 1;
            }
            else
            {
                tipo = 5;
            }
            DataTable listaProyectos = new DataTable();
            switch (tipo)
            {
                case 1:
                    listaProyectos = controlProyectos.solicitarProyectosDesarrollador(cedula);
                    break;
                case 2:
                    listaProyectos = controlProyectos.solicitarProyectosAnalista(cedula);
                    break;
                case 3:
                    listaProyectos = controlProyectos.solicitarProyectosEvaluador(cedula);
                    break;
                case 5:
                    listaProyectos = controlProyectos.solicitarProyectosCliente(cedula);
                    break;
            }
            cargarListaProyectos(listaProyectos);
            //****************
        }
        catch (Exception e)
        {
        }
    }

    //private void cargarClientes
    protected void cbTipoEmpleados_SelectedIndexChanged(object sender, EventArgs e)
    {
        int tipo_usuario = -1;
        DataTable listaUsuarios;
        if (this.cbTipoEmpleados.SelectedIndex == 0)
        {
            tipo_usuario = 1;
            ControladoraConsultas controlConsultas = (ControladoraConsultas)Session["controlConsultas"];
            listaUsuarios = controlConsultas.solicitarUsuarios(tipo_usuario);
        }
        else
        {
            if (this.cbTipoEmpleados.SelectedIndex == 1)
            {
                //carga analistas
                tipo_usuario = 2;
                ControladoraConsultas controlConsultas = (ControladoraConsultas)Session["controlConsultas"];
                listaUsuarios = controlConsultas.solicitarUsuarios(tipo_usuario);
            }
            else
            {
                //carga evaluadores
                tipo_usuario = 3;
                ControladoraConsultas controlConsultas = (ControladoraConsultas)Session["controlConsultas"];
                listaUsuarios = controlConsultas.solicitarUsuarios(tipo_usuario);
            }
        }
        //this.tipo = tipo_usuario;
        ViewState["tipo_usuario"] = tipo_usuario.ToString();
        cargarListaUsuarios(listaUsuarios);
    }

    private void cargarTipoEmpleado()
    {
        int numTipos = 3;
        ListItem[] estados = new ListItem[numTipos];

        estados[0] = new ListItem("Desarrollador", "desarrollador");
        estados[1] = new ListItem("Analista", "analista"); //Tambien en revisionEvaluacion
        estados[2] = new ListItem("Evaluador", "evaluador"); //Tambien en revisionEvaluacion
        for (int i = 0; i < numTipos; i++)
        {
            this.cbTipoEmpleados.Items.Add(estados[i]);
        }
        //******************
        int tipo_usuario = -1;
        DataTable listaUsuarios;
        if (this.cbTipoEmpleados.SelectedIndex == 0)
        {
            tipo_usuario = 1;
            ControladoraConsultas controlConsultas = (ControladoraConsultas)Session["controlConsultas"];
            listaUsuarios = controlConsultas.solicitarUsuarios(tipo_usuario);
        }
        else
        {
            if (this.cbTipoEmpleados.SelectedIndex == 1)
            {
                //carga analistas
                tipo_usuario = 2;
                ControladoraConsultas controlConsultas = (ControladoraConsultas)Session["controlConsultas"];
                listaUsuarios = controlConsultas.solicitarUsuarios(tipo_usuario);
            }
            else
            {
                //carga evaluadores
                tipo_usuario = 3;
                ControladoraConsultas controlConsultas = (ControladoraConsultas)Session["controlConsultas"];
                listaUsuarios = controlConsultas.solicitarUsuarios(tipo_usuario);
            }
        }
        //this.tipo = tipo_usuario;
        ViewState["tipo_usuario"] = tipo_usuario.ToString();
        cargarListaUsuarios(listaUsuarios);
        //******************
    }

    protected void cbUsuarios_SelectedIndexChanged(object sender, EventArgs e)
    {
        int cedula = Int32.Parse(this.cbUsuarios.SelectedItem.Value);
        ViewState["cedula_usuario"] = cedula.ToString();
        ControladoraProyectos controlProyectos = (ControladoraProyectos)Session["controlProyectos"];
        int tipo = 0;
        if (cbTipoEmpleados.Visible)
        {
            tipo = cbTipoEmpleados.SelectedIndex + 1;
        }
        else
        {
            tipo = 5;
        }
        DataTable listaProyectos = new DataTable();
        switch (tipo)
        {
            case 1:
                listaProyectos = controlProyectos.solicitarProyectosDesarrollador(cedula);
                break;
            case 2:
                listaProyectos = controlProyectos.solicitarProyectosAnalista(cedula);
                break;
            case 3:
                listaProyectos = controlProyectos.solicitarProyectosEvaluador(cedula);
                break;
            case 5:
                listaProyectos = controlProyectos.solicitarProyectosCliente(cedula);
                break;
        }
        cargarListaProyectos(listaProyectos);
        cargarListaSolicitudes();
    }

    private void cargarListaProyectos(DataTable listaProyectos)
    {
        this.cbProyectos.Items.Clear();
        try
        {
            DataTableReader lector = listaProyectos.CreateDataReader();
            while (lector.Read())
            {
                ListItem item = new ListItem(lector.GetValue(0).ToString(), lector.GetValue(1).ToString());
                this.cbProyectos.Items.Add(item);
            }
            if (cbProyectos.Items.Count == 1)
            {
                cbProyectos.SelectedIndex = 0;
            }
            cargarInfoAnalisis();
        }
        catch (Exception e)
        {
        }
    }

    private void cargarInfoAnalisis()
    {
        ControladoraConsultas controlConsultas = (ControladoraConsultas)Session["controlConsultas"];
        ControladoraSolicitudes controlSolicitudes = (ControladoraSolicitudes)Session["controlSolicitudes"];
        int cedula = Int32.Parse(this.cbUsuarios.SelectedItem.Value);
        int id_proyecto = Int32.Parse(this.cbProyectos.SelectedItem.Text);
        ViewState["id_proyecto"] = id_proyecto.ToString();
        int tipo = 0;
        int perfil = 0;
        int totalSolicitudes = 0;
        int totalSolicitudesAprobadas = 0;
        double porcentajeSolicitudesAprobadas = 0.0;
        int totalSolicitudesRechazadas = 0;
        double porcentajeSolicitudesRechazadas = 0.0;
        int totalSolicitudesAnuladas = 0;
        double porcentajeSolicitudesAnuladas = 0.0;
        int totalSolicitudesPrioridadAlta = 0;
        double porcentajeSolicitudesPrioridadAlta = 0.0;
        int totalSolicitudesPrioridadMedia = 0;
        double porcentajeSolicitudesPrioridadMedia = 0.0;
        int totalSolicitudesPrioridadBaja = 0;
        double porcentajeSolicitudesPrioridadBaja = 0.0;
        if (cbTipoEmpleados.Visible)
        {
            tipo = cbTipoEmpleados.SelectedIndex + 1;
        }
        else
        {
            tipo = 5;
        }
        if (tipo == 1 || tipo == 5)
        {
            perfil = controlConsultas.obtenerPerfil(cedula, tipo);
            //total de solicitudes
            totalSolicitudes = controlSolicitudes.solicitarTotalSolicitudesUsuario(perfil, tipo, id_proyecto);
            this.lbTotalSolicitudes.Text = totalSolicitudes.ToString();
            this.lbTotalSolicitudes.Visible = true;
            //total de solicitudes aprobadas
            totalSolicitudesAprobadas = controlSolicitudes.solicitarListaSolicitudesAprobadasUsuario(perfil,tipo,id_proyecto);
            //total de solicitudes rechazadas
            totalSolicitudesRechazadas = controlSolicitudes.solicitarListaSolicitudesRechazadasUsuario(perfil,tipo,id_proyecto);
            //total de solicitudes anuladas
            totalSolicitudesAnuladas = controlSolicitudes.solicitarListaSolicitudesAnuladasUsuario(perfil,tipo,id_proyecto);
            //total de solicitudes con prioridad alta
            totalSolicitudesPrioridadAlta = controlSolicitudes.solicitarTotalSolicitudesPrioridadAlta(perfil,tipo,id_proyecto);
            //total de solicitudes con prioridad media
            totalSolicitudesPrioridadMedia = controlSolicitudes.solicitarTotalSolicitudesPrioridadMedia(perfil,tipo,id_proyecto);
            //total de solicitudes con prioridad baja
            totalSolicitudesPrioridadBaja = controlSolicitudes.solicitarTotalSolicitudesPrioridadBaja(perfil,tipo,id_proyecto);
        }
        else
        {
            totalSolicitudes = controlSolicitudes.solicitarTotalSolicitudesUsuario(cedula, tipo, id_proyecto);
            //total de solicitudes
            this.lbTotalSolicitudes.Text = totalSolicitudes.ToString();
            this.lbTotalSolicitudes.Visible = true;
            //total de solicitudes aprobadas
            totalSolicitudesAprobadas = controlSolicitudes.solicitarListaSolicitudesAprobadasUsuario(cedula,tipo,id_proyecto);
            //total de solicitudes rechazadas (no hay anuladas)
            totalSolicitudesRechazadas = controlSolicitudes.solicitarListaSolicitudesRechazadasUsuario(cedula,tipo,id_proyecto);
            //total de solicitudes con prioridad alta
            totalSolicitudesPrioridadAlta = controlSolicitudes.solicitarTotalSolicitudesPrioridadAlta(cedula,tipo,id_proyecto);
            //total de solicitudes con prioridad media
            totalSolicitudesPrioridadMedia = controlSolicitudes.solicitarTotalSolicitudesPrioridadMedia(cedula,tipo,id_proyecto);
            //total de solicitudes con prioridad baja
            totalSolicitudesPrioridadBaja = controlSolicitudes.solicitarTotalSolicitudesPrioridadBaja(cedula,tipo,id_proyecto);
        }
        if (totalSolicitudes != 0)
        {
            this.lbTotalAprobadas.Text = totalSolicitudesAprobadas.ToString();
            this.lbTotalAprobadas.Visible = true;
            //porcentaje de solicitudes aprobadas
            porcentajeSolicitudesAprobadas = (totalSolicitudesAprobadas * 100) / totalSolicitudes;
            this.lbPorcentajeAprobadas.Text = porcentajeSolicitudesAprobadas.ToString();
            this.lbPorcentajeAprobadas.Visible = true;
            //porcentaje de solicitudes rechazadas
            porcentajeSolicitudesRechazadas = (totalSolicitudesRechazadas * 100) / totalSolicitudes;
            this.lbPorcentajeRechazadas.Text = porcentajeSolicitudesRechazadas.ToString();
            this.lbPorcentajeRechazadas.Visible = true;
            //porcentaje de solicitudes anuladas
            if (tipo == 1 || tipo == 5)
            {
                porcentajeSolicitudesAnuladas = (totalSolicitudesAnuladas * 100) / totalSolicitudes;
                this.lbPorcentajeAnuladas.Text = porcentajeSolicitudesAnuladas.ToString();
                this.lbPorcentajeAnuladas.Visible = true;
            }
            //porcentaje de solicitudes con prioridad alta
            if (totalSolicitudesAprobadas != 0)
            {
                porcentajeSolicitudesPrioridadAlta = (totalSolicitudesPrioridadAlta * 100) / totalSolicitudesAprobadas;
                this.lbPocentajePriorAlta.Text = porcentajeSolicitudesPrioridadAlta.ToString();
                this.lbPocentajePriorAlta.Visible = true;
                //porcentaje de solicitudes con prioridad media
                porcentajeSolicitudesPrioridadMedia = (totalSolicitudesPrioridadMedia * 100) / totalSolicitudesAprobadas;
                this.lbPocentajePriorMedia.Text = porcentajeSolicitudesPrioridadMedia.ToString();
                this.lbPocentajePriorMedia.Visible = true;
                //porcentaje de solicitudes con prioridad baja
                if (totalSolicitudesPrioridadBaja != 0)
                {
                    porcentajeSolicitudesPrioridadBaja = (totalSolicitudesPrioridadBaja * 100) / totalSolicitudesPrioridadBaja;
                    porcentajeSolicitudesPrioridadBaja = 0;
                }
                this.lbPocentajePriorBaja.Text = porcentajeSolicitudesPrioridadBaja.ToString();
                this.lbPocentajePriorBaja.Visible = true;
            }
            
        }
        else
        {
            this.lbPorcentajeAprobadas.Text = "";
            this.lbPorcentajeAprobadas.Visible = false;

            this.lbPorcentajeRechazadas.Text = "";
            this.lbPorcentajeRechazadas.Visible = false;

            this.lbPorcentajeAnuladas.Text = "";
            this.lbPorcentajeAnuladas.Visible = false;

            this.lbPocentajePriorAlta.Text = "";
            this.lbPocentajePriorAlta.Visible = false;

            this.lbPocentajePriorMedia.Text = "";
            this.lbPocentajePriorMedia.Visible = false;

            this.lbPocentajePriorBaja.Text = "";
            this.lbPocentajePriorBaja.Visible = false;
        }
    }

    protected void cbTipoUsuario_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (this.cbTipoUsuarios.SelectedIndex == 0)
        {
            this.cbTipoEmpleados.Visible = false;
            this.lbTipoEmpleado.Visible = false;
            ControladoraClientes controlClientes = (ControladoraClientes)Session["controlClientes"];
            DataTable listClientes = controlClientes.solicitarClientes();
            cargarListaUsuarios(listClientes);
            int tipe = 5; //cliente es tipo 5
            ViewState["tipo_usuario"] = tipe.ToString();
        }
        else
        {
            this.cbTipoEmpleados.Visible = true;
            this.lbTipoEmpleado.Visible = true;
            cargarTipoEmpleado();
        }
    }

    private void cargarListaSolicitudes()
    {
        ControladoraConsultas controlConsultas = (ControladoraConsultas)Session["controlConsultas"];
        ControladoraSolicitudes controlSolicitudes = (ControladoraSolicitudes)Session["controlSolicitudes"];
        int cedula = Int32.Parse(ViewState["cedula_usuario"].ToString());
        int tipo = Int32.Parse(ViewState["tipo_usuario"].ToString());
        int id_proy = Int32.Parse(ViewState["id_proyecto"].ToString());
        int perfil = 0;
        DataTable solicitudes = null;

        switch (tipo)
        {
            case 1:
                //es desarrollador

                perfil = controlConsultas.obtenerPerfil(cedula, 1);
                solicitudes = controlSolicitudes.solicitarListaSolicitudesUsuario(perfil, tipo, id_proy);
                break;
            case 2:
                //es analista
                solicitudes = controlSolicitudes.solicitarListaSolicitudesUsuario(cedula, tipo, id_proy);
                break;
            case 3:
                //es evaluador
                solicitudes = controlSolicitudes.solicitarListaSolicitudesUsuario(cedula, tipo, id_proy);
                break;
            case 5:
                //es cliente
                perfil = controlConsultas.obtenerPerfil(cedula, 5);
                solicitudes = controlSolicitudes.solicitarListaSolicitudesUsuario(perfil, tipo, id_proy);
                break;
        }

        //ControladoraSolicitudes controlSolicitudes = (ControladoraSolicitudes)Session["controlSolicitudes"];
        //DataTable tabla = controlSolicitudes.consultarSolicitudesSolicitante(id_perfil_Solicitante);
        this.GridSolicitudes.DataSource = null;
        this.GridSolicitudes.DataSource = solicitudes;
        this.GridSolicitudes.DataBind();
        int filas = this.GridSolicitudes.Rows.Count;
        for (int i = 0; i < filas; i++)
        {
            string analisis = this.GridSolicitudes.Rows[i].Cells[3].Text;
            if (analisis != "revisionAnalisis" && analisis != "rechazadaAnalisis" && analisis != "Anulada" &&
                analisis != "En edicion" && analisis != "pendienteAnalisis")
            {
                GridSolicitudes.Rows[i].Cells[3].Text = "Aprobada";
            }
            else
            {
                if (analisis == "rechazadaAnalisis")
                {
                    this.GridSolicitudes.Rows[i].Cells[3].Text = "Rechazada";
                }
            }
            string eval = this.GridSolicitudes.Rows[i].Cells[4].Text;
            if (eval == "aprobadaEvaluacion" || eval == "Pendiente SQA")
            {
                this.GridSolicitudes.Rows[i].Cells[4].Text = "Aprobada";
            }
            else
            {
                if (eval == "rechazadaEvaluacion")
                {
                    this.GridSolicitudes.Rows[i].Cells[4].Text = "Rechazada";
                }
            }
            if (analisis == "revisionAnalisis" || analisis == "En edicion" || analisis == "pendienteAnalisis")
            {
                this.GridSolicitudes.Rows[i].Cells[3].Text = "";
                this.GridSolicitudes.Rows[i].Cells[4].Text = "";
            }
            if (eval == "pendienteEvaluacion" || eval == "revisionEvaluacion")
            {
                this.GridSolicitudes.Rows[i].Cells[4].Text = "";
            }

        }
    }

    protected void GridSolicitudes_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
    protected void ZedGraphWeb1_RenderGraph(ZedGraphWeb webObject, Graphics g, MasterPane pane)
    {
        pane.AxisChange(g);
    }
    protected void ZedGraphWeb2_RenderGraph(ZedGraphWeb webObject, Graphics g, MasterPane pane)
    {
        pane.AxisChange(g);
    }
    protected void ZedGraphWeb3_RenderGraph(ZedGraphWeb webObject, Graphics g, MasterPane pane)
    {
        GraphPane myPane = pane[0];
        // Fill the pane background with a color gradient
        myPane.Fill = new Fill(Color.White, Color.White, 45.0f);
        // No fill for the chart background
        myPane.Chart.Fill.Type = FillType.None;
        // Set the legend to an arbitrary location
        myPane.Legend.Position = LegendPos.Float;
        myPane.Legend.Location = new Location
        (0.95f, 0.05f, CoordType.PaneFraction, AlignH.Right, AlignV.Top);
        myPane.Legend.FontSpec.Size = 10f;
        // IsHStack is use the create the legend items horizontally
        myPane.Legend.IsHStack = false;
        // Add some pie slices
        if (this.lbPorcentajeAprobadas.Text != "" && this.lbPorcentajeAprobadas.Text != "0")
        {
            PieItem segment1 = myPane.AddPieSlice(float.Parse(this.lbPorcentajeAprobadas.Text), Color.DarkSlateGray, Color.White, 45f, 0, "Solicitudes aprobadas");
        }
        if (this.lbPorcentajeRechazadas.Text != "" && this.lbPorcentajeRechazadas.Text != "0")
        {
            PieItem segment2 = myPane.AddPieSlice(float.Parse(this.lbPorcentajeRechazadas.Text), ColorTranslator.FromOle((2 * 5000) % 32000), Color.White, 45f, 0, "Solicitudes rechazadas");
        }
        if (this.lbPorcentajeAnuladas.Text != "" && this.lbPorcentajeAnuladas.Text != "0")
        {
            PieItem segment3 = myPane.AddPieSlice(float.Parse(this.lbPorcentajeAnuladas.Text), ColorTranslator.FromOle((3 * 5000) % 32000), Color.White, 45f, 0, "Solicitudes anuladas");
        }
        /*for (int i = 0; i < gvErrores.Rows.Count; i++)
        {
            PieItem segment1 = myPane.AddPieSlice(float.Parse(gvErrores.Rows[i].Cells[3].Text.Remove(gvErrores.Rows[i].Cells[3].Text.Length - 2)), ColorTranslator.FromOle((i * 5000) % 32000), Color.White, 45f, 0, gvErrores.Rows[i].Cells[0].Text);
        }*/
        // Calculate the Axis Scale Ranges
        pane.AxisChange(g);
        // There is no need for pie chart to adjust X and Y axis. 
        // So the rest of the code is irrelevant with regard to Pie Chart
    }
    protected void ZedGraphWeb_4_RenderGraph(ZedGraphWeb webObject, Graphics g, MasterPane pane)
    {
        GraphPane myPane = pane[0];
        // Fill the pane background with a color gradient
        myPane.Fill = new Fill(Color.White, Color.White, 45.0f);
        // No fill for the chart background
        myPane.Chart.Fill.Type = FillType.None;
        // Set the legend to an arbitrary location
        myPane.Legend.Position = LegendPos.Float;
        myPane.Legend.Location = new Location
        (0.95f, 0.05f, CoordType.PaneFraction, AlignH.Right, AlignV.Top);
        myPane.Legend.FontSpec.Size = 10f;
        // IsHStack is use the create the legend items horizontally
        myPane.Legend.IsHStack = false;
        // Add some pie slices
        if (this.lbPorcentajeAprobadas.Text != "" && this.lbPocentajePriorAlta.Text != "0")
        {
            PieItem segment1 = myPane.AddPieSlice(float.Parse(this.lbPocentajePriorAlta.Text), Color.DarkSlateGray, Color.White, 45f, 0, "Solicitudes aprobadas");
        }
        if (this.lbPorcentajeRechazadas.Text != "" && this.lbPocentajePriorMedia.Text != "0")
        {
            PieItem segment2 = myPane.AddPieSlice(float.Parse(this.lbPocentajePriorMedia.Text), ColorTranslator.FromOle((2 * 5000) % 32000), Color.White, 45f, 0, "Solicitudes rechazadas");
        }
        if (this.lbPorcentajeAnuladas.Text != "" && this.lbPocentajePriorBaja.Text != "0")
        {
            PieItem segment3 = myPane.AddPieSlice(float.Parse(this.lbPocentajePriorBaja.Text), ColorTranslator.FromOle((3 * 5000) % 32000), Color.White, 45f, 0, "Solicitudes anuladas");
        }
        /*for (int i = 0; i < gvErrores.Rows.Count; i++)
        {
            PieItem segment1 = myPane.AddPieSlice(float.Parse(gvErrores.Rows[i].Cells[3].Text.Remove(gvErrores.Rows[i].Cells[3].Text.Length - 2)), ColorTranslator.FromOle((i * 5000) % 32000), Color.White, 45f, 0, gvErrores.Rows[i].Cells[0].Text);
        }*/
        // Calculate the Axis Scale Ranges
        pane.AxisChange(g);
        // There is no need for pie chart to adjust X and Y axis. 
        // So the rest of the code is irrelevant with regard to Pie Chart
    }
}
